import { RMIProxyObject } from "../../Engine/RMI/RMIProxyObject";
import { ITreasurePrx } from "./ITreasurePrx";
import { AMI_ITreasure_handOut } from "./AMI_ITreasure_handOut";
import { SerializeStream } from "../../Framework/Serialize/SerializeStream";
import { Outgoing } from "../../Engine/RMI/Outgoing";
import { AMI_ITreasure_join } from "./AMI_ITreasure_join";
import { AMI_ITreasure_passTo } from "./AMI_ITreasure_passTo";
import { AMI_ITreasure_revive } from "./AMI_ITreasure_revive";
type int = number;
//class ITreasurePrxHelper
    
    export  class ITreasurePrxHelper extends RMIProxyObject implements ITreasurePrx
    {
        constructor()
        {
            
            super();name = "ITreasure";
            return;
        }

        public handOut_async(arg1: AMI_ITreasure_handOut): void
        {
            var loc1=makeContext(session);
            var loc2=makeCall("handOut");
            var loc3=new SerializeStream();
            Outgoing.invokeAsync(loc1, loc2, loc3, arg1);
            return;
        }

        public join_async(arg1: AMI_ITreasure_join): void
        {
            var loc1=makeContext(session);
            var loc2=makeCall("join");
            var loc3=new SerializeStream();
            Outgoing.invokeAsync(loc1, loc2, loc3, arg1);
            return;
        }

        public passTo_async(arg1: AMI_ITreasure_passTo, arg2: int, arg3: Boolean): void
        {
            var loc1=makeContext(session);
            var loc2=makeCall("passTo");
            var loc3;
            (loc3 = new SerializeStream()).writeInt(arg2);
            loc3.writeBool(arg3);
            Outgoing.invokeAsync(loc1, loc2, loc3, arg1);
            return;
        }

        public revive_async(arg1: AMI_ITreasure_revive): void
        {
            var loc1=makeContext(session);
            var loc2=makeCall("revive");
            var loc3=new SerializeStream();
            Outgoing.invokeAsync(loc1, loc2, loc3, arg1);
            return;
        }

        public static /* const */NAME: string="Message.Game.ITreasure";
    }
